package com.luguz.config;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.time.LocalDate;
import java.util.Date;
/**
 * @author Guz
 * @create 2022-02--25 14:56
 */

//需加上Component交由Spring管理 注册到同一的config中
public class MyMetaObjectHandler implements MetaObjectHandler {

    //使用mp实现添加操作  createDate 为数据库设置的字段
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("createDate",LocalDate.now(),metaObject);
        this.setFieldValByName("updateDate",LocalDate.now(),metaObject);
//        注册时统一设置逻辑删除字段 deleted
        this.setFieldValByName("deleted", 0, metaObject);
    }

    //使用mp实现修改操作 updateDate 字段
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
}